package com.annotation;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapListHandler;

import com.dfec.utils.DruidPlugin;

/**
 * Service注解
 * 说明：标注Service实例name
 * wwp
 */
public class BaseService  {
	
	static QueryRunner qr=new QueryRunner(DruidPlugin.getDataSource());
	/**
	 * 
	 * @param sql  需要执行的sql语句
	 * @param params  sql中所需要的参数
	 * @return  返回值为int数组 取数组第一个值如果大于0则成功，否则失败
	 * @throws SQLException
	 */
	public static int[] addBatch(String sql ,Object[][] params) throws SQLException{
		
		return qr.batch(sql, params);
	};
	
	/**
	 * 
	 * @param sql  需要执行的sql语句
	 * @param params  sql中所需要的参数
	 * @return  返回值为int数组 取数组第一个值如果大于0则成功，否则失败
	 * @throws SQLException
	 */
	public static int[] deleteBatchbyId(String sql ,Object[][] params) throws SQLException{
		return qr.batch(sql, params);
		
	};
	/**
	 * 
	 * @param sql  需要执行的sql语句
	 * @param params  sql中所需要的参数
	 * @return  返回值为int数组 取数组第一个值如果大于0则成功，否则失败
	 * @throws SQLException
	 */
	public static int[] updatebyCondition(String sql ,Object[][] params) throws SQLException{
		
		return qr.batch(sql,params);
	};
	/**
	 * 
	 * @param sql
	 * @param params
	 * @return
	 * @throws SQLException
	 */
	@SuppressWarnings("deprecation")
	public static List<Map<String, Object>> queryList(String sql ,Object[][] params) throws SQLException{
		 if(params==null) {
			 return	 qr.query(sql,  new  MapListHandler());
		 }
		return qr.query( sql, params,  new  MapListHandler());
	};
	
}
